﻿using Game.Ai;
using Game.Common.Resources;
using Game.Toolkit.Internal;
using Game.Types;

namespace Game.Toolkit
{
    public static class StandardVehicles
    {
        public static VehicleType ShockTrooper
        {
            get
            {
                var builder = new VehicleTypeBuilder
                {
                    Picture = VehicleResourceFile.Shock, 
                    Name = "Shock Trooper", 
                    Armor = 100,
                    Cost = new GameResources(0, 0, 10)
                };
                builder.Tank.Fuel.Value = 100;

                builder.RuntimeExtensionFactories.Add(AiExtensionFactory.PATROL);
                return builder.BuildVehicleType();
            }
        }
        
        public static VehicleType AssaultTank
        {
            get
            {
                var builder = new VehicleTypeBuilder
                {
                    Picture = VehicleResourceFile.Assault,
                    Name = "Assault Tank",
                    Armor = 500,
                    Movement = {DefaultValue = 5},
                    Cost = new GameResources(0, 0, 20)
                };
                return builder.BuildVehicleType();
            }
        }
        
        public static VehicleType Gunner
        {
            get
            {
                var builder = new VehicleTypeBuilder
                {
                    Picture = VehicleResourceFile.Gunner, 
                    Name = "Gunner", 
                    Armor = 100,
                    Cost = new GameResources(0, 0, 5)
                };
                return builder.BuildVehicleType();
            }
        }
    }
}
